<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>AngelScript: What can be registered</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">AngelScript
   
   </div>
   
  </td>
  
  
  
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('doc_register_api.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">What can be registered </div>  </div>
</div>
<div class="contents">
<div class="textblock"><p>AngelScript requires the application developer to register the interface that the scripts should use to interact with anything outside the script itself.</p>
<p>It's possible to register <a class="el" href="doc_register_func.html">global functions</a> and <a class="el" href="doc_register_prop.html">global properties</a> that can be used directly by the scripts.</p>
<p>For more complex scripts it may be useful to register new <a class="el" href="doc_register_type.html">object types</a> to complement the built-in data types.</p>
<p>AngelScript doesn't have a <a class="el" href="doc_strings.html">built-in string type</a> as there is no de-facto standard for string types in C++. Instead AngelScript permits the application to register its own preferred string type, and a <a class="el" href="classas_i_script_engine.html#a95ad30812d89dee425240b49675017a4">string factory</a> that the script engine will use to instanciate the strings.</p>
<p>There is also no default built-in array type as this too is something that most developers may want to have their own version of. The array type is registered as a <a class="el" href="doc_adv_template.html">template</a>, which is then set as the <a class="el" href="classas_i_script_engine.html#ac9451feece1297eba8d1649036039e82">default array type</a>. A standard <a class="el" href="doc_addon_array.html">array add-on</a> is provided for those that do not want to implement their own array type.</p>
<p><a class="el" href="classas_i_script_engine.html#ae2d89b82561b7f9843f35693c664589f">Class interfaces</a> can be registered if you want to guarantee that script classes implement a specific set of class methods. Interfaces can be easier to use when working with script classes from the application, but they are not necessary as the application can easily enumerate available methods and properties even without the interfaces.</p>
<p><a class="el" href="classas_i_script_engine.html#a03c1a2cc23ae4b742c927f3472a1a4f7">Function definitions</a> can be registered when you wish to allow the script to pass function pointers to the application, e.g. to implement callback routines.</p>
<p><a class="el" href="classas_i_script_engine.html#abed6e77f2a532c8a4f528650fa137d37">Enumeration types</a> and <a class="el" href="classas_i_script_engine.html#addb24466769dc52be96c7e37d5305245">typedefs</a> can also be registered to improve readability of the scripts. </p>
</div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>

    <li class="footer">Generated on Sun Jan 29 2012 15:41:04 for AngelScript by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
